بسم الله الرحمن الرحيم
|
#1
| |||
| |||
|
ماهي مصادر البرنامج ؟
مصادر البرنامج هي عبارة عن الصور والأيقونات والنصوص وكذلك ملفات الصوت والفيديو أو أي نوع آخر من الملفات. كيف يمكن وضع هذه المصادر في ملف واحد؟ يمكن وضع مصادر البرنامج في ملف واحد ويكون بامتداد res. بمعنى Resource عن طريق الفيجوال بيسك باستخدام (محرر المصادر) VB Resource Editor ماهي الفائدة من وضع ملفاتي في ملف مصدري واحد؟ تقلل من زمن تحميل البرنامج لانك لن تقوم بتحميل أي ملف الا عند الحاجة إليه ، أيضا ربما لانك لاتريد استخدام ملفاتك المصدرية من قبل مستخدم البرنامج ، كذلك يسهل عليك عملية إعداد البرامج متعددة اللغات. كيف أقوم بإضافة ملفاتي إلى الملف المصدري وكيف أقوم باستدعائها؟ توكل على الله وقل باسم الله الرحمن الرحيم ولنبدأ سوياً - اختر (Add-In Manager) من قائمة (Add-Ins) كما في الصورة التالية: -سيظهر لك مربع حوار اضغط مرتين على (VB6 Resource Editor) ثم اضغط على (OK) كما هو موضح في الصورة التالية: -الآن اختر (Add New Resource File) من قائمة (Project) كما في الصورة التالية: - سيظهر لك مربع حوار كما في الصورة التالية ، حدد المكان الذي تريد ان تحفظ فيه الملف المصدري ويفضل أن يكون في نفس مسار البرنامج ثم اكتب اسم للملف بدلا من (RES.*)
- ستظهر لك رسالة تخبرك بأن الملف غير موجود وهل تريد إنشائه أم لا ، اختر (Yes) كما في الصورة التالية:
- الآن من نافذة مستكشف المشروع اختر الملف المصدري الذي حددته قبل قليل بالضغط عليه مرتين كما في الصورة التالية: - سيظهر لك محرر المصادر ومن خلاله تستطيع إضافة الملفات التي تريد كما هو موضح في الصورة التالية: ![]() تابع ... __________________
اضغط هنا لزيارة منتدى البرمجة في أكبر موقع عربي |
|
#2
| |||
| |||
|
1- هذا الزر لإضافة النص Text الى الملف المصدري: عند الضغط عليه يظهر
لنا مربع حوار يطلب منك إدخال النص الذي تريد ، اتبع التعليمات الموضحة في
الصورة التالية:
![]() 2- هذا الزر لإضافة مؤشر ماوس (cur.) الى الملف المصدري: عند الضغط عليه يظهر لنا مربع حوار يطلب منا تحديد مكان وجود مؤشر الماوس المراد كماهو موضح في الصورة التالية: ![]() 3- هذا الزر لإضافة الأيقونات (ico.) الى الملف المصدري: عند الضغط عليه يظهر لنا مربع حوار يطلب منا تحديد مسار ملف الأيقونة كمافي الصورة التالية: ![]() 4- هذا الزر لإضافة صورة نقطية (bmp.): عند الضغط عليه يظهر لنا مربع حوار يطلب منا تحديد مسار ملف الصورة النقطية كماهو موضح في الصورة التالية: ![]() ملاحظة: لايمكن إضافة الصور بامتداد (jpg.) او (gif.) او (.tif) او غيرها باستخدام هذا الزر وانما نستخدم الزر رقم 5 لذلك. 5- هذا الزر يمكنك من إضافة ملفات الصور الأخرى مثل (jpg.) او (gif.) او (.tif) او غيرها وكذلك ملفات الصوت (wav.) وملفات الفيديو (avi.) والملفات النصية (txt.) وجميع الملفات الأخرى التي لم تذكر أعلاه: عند الضغط عليه يظهر لنا مربع حوار يطلب منا تحدد مكان وجود الملف كما في الصورة التالية: ![]() الآن وبعد الانتهاء من إضافة الملفات التي نريد سيظهر لنا محرر النصوص بشكل مشابه لما يلي: ![]() عند الضغط على زر (×) كما هو موضح في الصورة السابقة سنرجع الى شاشة تصميم الواجهة وكتابة الكود المعتادة. تبقى الان ان نقوم باستخدام الكود لاستدعاء الملفات التي قمنا بتخزينها: لاستخراج نص قمنا بتخزينه باستخدام الزر رقم 1 Code: txt = LoadResString(101) MsgBox txt لاستخراج مؤشر ماوس قمنا بتخزينه باستخدام الزر رقم 2 Code: Form1.MousePointer = vbCustom Form1.MouseIcon = LoadResPicture(101, vbResCursor) لاستخراج أيقونة قمنا بتخزينها باستخدام الزر رقم 3 Code: Form1.Icon = LoadResPicture(101, vbResIcon) لاستخراج صورة نقطية قمنا بتخزينها باستخدام الزر رقم 4 Code: Picture1.Picture = LoadResPicture(101, vbResBitmap) لاستخراج ملف آخر قمنا بتخزينه باستخدام الزر رقم 5 في هذه الحالة يجب ان نقوم بتحويل البيانات الى ملف ومن ثم نقوم باستخدامها نقوم بإنشاء إجراء يقوم بتحويل البيانات المخزنة للملف إلى ملف Code: Public Sub LoadDataIntoFile(id As Integer, FileName As String)
Dim myArray() As Byte
Dim myFile As Long
If Dir(FileName) = "" Then
myArray = LoadResData(id, "CUSTOM")
myFile = FreeFile
Open FileName For Binary Access Write As #myFile
Put #myFile, , myArray
Close #myFile
End If
End Subالان لنفرض اننا قمنا بتخزين ملف صورة بامتداد (gif.) لاستدعاء ذلك الملف نستخدم الكود التالي Code: 'تحويل بيانات العنصر رقم 101 الى ملف مؤقت باسم temp.gif LoadDataIntoFile 101, App.Path & "\temp.gif" ' نعرض هذا الملف وهو عبارة عن صورة في مربع الصورة Picture1.Picture = LoadPicture(App.Path & "\temp.gif") ' نقوم بحذف الملف المؤقت لعدم الحاجة إليه Kill App.Path & "\temp.gif" إن شاء الله أكون قد وفقت في إفادتكم بما هو نافع وآسف على الاطالة __________________
اضغط هنا لزيارة منتدى البرمجة في أكبر موقع عربي |
|
#3
| |||
| |||
|
بسم الله الرحمن الرحيم
شكرا لك اخي العزيز على هذا الشرح الرائع و الوافي __________________
لا تكن للعيش مجرح الفؤاد أنما الرزق على رب العباد |
|
#4
| |||
| |||
|
شكرا على المجهود
وعندي سؤال وهو عند تحويل البرنامج الى exe سوف يتم ضم ملف المصادر إلى الملف التنفيذي مما سيؤدي الى زيادة حجم الملف التنفيذي بنفس حجم الصور والاصوات في ملف المصادر مما سيؤدي إلى إرهاق الذاكرة عند تحميل البرنامج - اليس هذه ميزه ليست مرغوبا بها عندي طريقة أخرى بعيدة عن الطريقة المتعارف عليها والمذكورة أعلاة تمكنك من إنشاء ملف مصادر خاص بك ميزتها أنها لا تضم الملف الناشئ مع الملف التنفيذي وانما تكون بملف مستقل تماما - وإذا كان الامر يهمكم سأضع المثال مع الشرح |
|
#5
| |||
| |||
|
مشكور يا أخي على خذا الشرح الوافي
وياريت الطريقة الثانية توضع لتعم الفائدة ومشكور سلف __________________
العلم ليس حكراً على شخص ولكنة لطالبه لا إله إلا الله محمد رسول الله |
|
#6
| |||
| |||
|
لا شكر على واجب يا اخوان
اخوي النسر بالنسبة لملف المصادر لن يتم دمجه مع الملف التنفيذي وانما سيكون ملف خارجي بامتداد res. والملف التنفيذي بامتداد exe. وبالعكس هذه الطريقة تقلل من زمن تحميل البرنامج وتزيد من سرعته ولمزيد من المعلومات او للتأكد ارجع لموقع مايكروسوفت وتقبل تحياتي __________________
اضغط هنا لزيارة منتدى البرمجة في أكبر موقع عربي |
|
#7
| |||
| |||
|
عزيزي programmer2001 هل ممكن وضع ملف فلاش swf وملف فيديو avi داخل ملف
المصادر
وياريت اذا ممكن وضع الكود لتشغيل ملف الفلاش وملف الفيديو بعد وضع الملفات داخل ملف المصدر وتسلم عزيزي على الشرح الوافي |
|
#8
| |||
| |||
|
أضف ملف الفلاش الذي تريد لملف المصادر عن طريق الزر رقم 5
بعد الاضافة إذهب لقائمة Project ثم Components اختر Shockwave Flash ثم OK أضف أداة الفلاش على النموذج حسب الحجم الذي تريد ثم اضف زر أمر Command1 لتشغيل ملف الفلاش ثم استخدم هذا الكود Code: Private Sub Command1_Click()
LoadDataIntoFile 101, App.Path & "\temp.swf"
' نعرض هذا الملف وهو عبارة عن صورة في مربع الصورة
ShockwaveFlash1.Movie = App.Path & "\temp.swf"
ShockwaveFlash1.Play
' نقوم بحذف الملف المؤقت لعدم الحاجة إليه
Kill App.Path & "\temp.swf"
End Sub
Public Sub LoadDataIntoFile(id As Integer, FileName As String)
Dim myArray() As Byte
Dim myFile As Long
If Dir(FileName) = "" Then
myArray = LoadResData(id, "CUSTOM")
myFile = FreeFile
Open FileName For Binary Access Write As #myFile
Put #myFile, , myArray
Close #myFile
End If
End Sub
وبنفس الطريقة لتحميل ملفات الفيديو ولكن مع بعض التغيير في الاداة والكود الموجود في زر الأمر __________________
اضغط هنا لزيارة منتدى البرمجة في أكبر موقع عربي |
|
#9
| |||
| |||
|
الاخ programmer2001 حين يتم تحويل البرنامج الى exe فإن ملف المصادر ذو
الامتداد .res يتم دمجة مع الملف التنفيذي مما يزيد من حجم الملف التنفيذي
وهذه النقطة لاجدال فيها
مزايا استخدام ملف المصادر: تمكنك من وضع المصادر الخاصة بك مما توفر من عملية الاعداد وعدم نسخها وتغيير مسارها والبحث عنها عدم العبث بمكونات الملف او التعديل او الحذف ارفاقه كملف وحيد ولايحتاج لعميات كبيرة يوفر الكود البرمجي مساوء هذه الطريقة: زيادة حجم الملف التنفيذي بمقدار الملفات بطىء تحميل وعمل الملف التنفيذية في حالة الملفات الكبيرة |
|
#10
| |||
| |||
|
عزيزي programmer2001
لقد عمل ملف الفلاش صح والحمد لله والباقي ملف الفيديو avi حيث وضعت أداة MMControl1 وغيرت على زر الأمر بعض الكود ولم يعمل البرنامج آمل وضع الكود الصح لتشغيل الملف ولك الشكر بعد الله سبحانه وتعالى |
|
|